package server.calificaciones;

import server.Control;
import persistencia.dominio.*;
import persistencia.*;
import java.sql.*;
import java.util.*;
import comun.*;

/**
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2004</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */

public class ControlCalificaciones extends Control {

  public ControlCalificaciones(Persistencia persistencia) {
      this.persistencia = persistencia;
    }

  public ControlCalificaciones(Persistencia persistencia,Connection conexion) {
      this.persistencia = persistencia;
      this.conexionSQL = conexion;

    }

    public ControlCalificaciones(Connection conexion) {
          this.conexionSQL = conexion;
    }


///// ******************

  public Vector getCalificacioneses(Long idProvincia) throws Exception
  {
    try {
      return persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Ciudad","provincia.id =="+idProvincia);

    }
    catch (MyException ex) {
      throw ex;
    }
  }


  public Vector getPersona(Long idPersona) throws Exception
  {
    try {

      return persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Persona","id =="+idPersona);
    }
    catch (MyException ex) {
      throw ex;
    }
  }


  public Vector getAula(Long idAula) throws Exception
  {
    try {

      return persistencia.getObjectosPorClaseYFiltro("persistencia.dominio.Aula","aula.id =="+idAula);
    }
    catch (MyException ex) {
      throw ex;
    }
  }




// *****************************************************************************

//             aqui listo las CAlificaciones por Aula

         public ResultSet  getDetalledeCalificacionesporAula(Long idAula, String nombreAula) //
         {
           String sql = "";
     //      String html = "";
           ResultSet calificacionaula = null;

           try
           {
             System.out.println(" CONTROL LOCALIDAD EN VER_CALIFICACION_POR_AULA"+idAula);
             System.out.println(" CONTROL LOCALIDAD EN VER_CALIFICACION_POR_AULA"+nombreAula);


   //            Aula aula= (Aula)persistencia.getObjectoPorId("persistencia.dominio.Aula",idAula);


                  sql += "SELECT AULA.nombre as aula, PERSONA.apellido as apellido, PERSONA.nombre as nombre, VALOR_CALIFICACION.nombre as calificacion FROM PARTICIPANTE,TIPO_USUARIO,PERSONA,AULA,NOTA,VALOR_CALIFICACION,TIPO_CALIFICACION where PERSONA.persona_id=PARTICIPANTE.persona_id and PARTICIPANTE.aula_id=AULA.aula_id AND PARTICIPANTE.tipo_usuario_id=TIPO_USUARIO.tipo_usuario_id and TIPO_USUARIO.ID=131073 and PERSONA.persona_id=NOTA.persona_id AND NOTA.valor_calificacion_id=VALOR_CALIFICACION.valor_calificacion_id AND AULA.id= "+idAula+" group by AULA.nombre, PERSONA.apellido, VALOR_CALIFICACION.nombre";
//                     sql += "SELECT AULA.nombre as aula, PERSONA.apellido as apellido, VALOR_CALIFICACION.nombre as calificacion FROM PARTICIPANTE,TIPO_USUARIO,PERSONA,AULA,NOTA,VALOR_CALIFICACION,TIPO_CALIFICACION where PERSONA.persona_id=PARTICIPANTE.persona_id and PARTICIPANTE.aula_id=AULA.aula_id AND PARTICIPANTE.tipo_usuario_id=TIPO_USUARIO.tipo_usuario_id and TIPO_USUARIO.ID=131073 and PERSONA.persona_id=NOTA.persona_id AND NOTA.valor_calificacion_id=VALOR_CALIFICACION.valor_calificacion_id AND VALOR_CALIFICACION.tipo_calificacion_id=TIPO_CALIFICACION.tipo_calificacion_id and AULA.id= "+idAula+" group by AULA.nombre, PERSONA.apellido";  //794144316
//                   sql += "SELECT AULA.nombre as aula, PERSONA.apellido as apellido, VALOR_CALIFICACION.nombre as calificacion FROM PARTICIPANTE,TIPO_USUARIO,PERSONA,AULA,NOTA,VALOR_CALIFICACION,TIPO_CALIFICACION WHERE TIPO_CALIFICACION.tipo_calificacion_id=VALOR_CALIFICACION.tipo_calificacion_id AND VALOR_CALIFICACION.valor_calificacion_id=NOTA.valor_calificacion_id AND NOTA.persona_id=PERSONA.persona_id AND PERSONA.persona_id=PARTICIPANTE.persona_id AND PARTICIPANTE.aula_id=AULA.aula_id AND AULA.id= "+idAula+" GROUP BY AULA.nombre, PERSONA.apellido";
//                   sql += "SELECT aula.nombre as aula, persona.apellido as apellido, valor_calificacion.nombre as calificacion FROM participante,tipo_usuario,persona,aula,nota,valor_calificacion,tipo_calificacion where persona.persona_id=participante.persona_id and participante.aula_id=aula.aula_id and persona.persona_id=nota.persona_id AND nota.valor_calificacion_id=valor_calificacion.valor_calificacion_id AND valor_calificacion.tipo_calificacion_id=tipo_calificacion.tipo_calificacion_id and aula.id= "+idAula+" group by aula.nombre, persona.apellido";

             //System.out.println("");
             System.out.println(sql);
             //System.out.println("");
             calificacionaula = this.ejecutarSQL(sql);
             //System.out.println("alumno en la control"+idAula);
           return calificacionaula;


           }
           catch (Exception ex) {
             ex.printStackTrace();
             persistencia.rollback();
           }
             return null;
         //  }
         }




         public Vector getPersona() throws Exception
       {
         try {
           return persistencia.getObjectosPorClase("persistencia.dominio.Persona");
         }
         catch (MyException ex) {
           throw ex;
         }
       }
//  ****************************************************************************


   public Vector getCursos() throws Exception
 {
   try {
     return persistencia.getObjectosPorClase("persistencia.dominio.Curso");
   }
   catch (MyException ex) {
     throw ex;
   }
  }


//  ****************************************************************************


   public Vector getAula() throws Exception
 {
   try {
     return persistencia.getObjectosPorClase("persistencia.dominio.Curso");
   }
   catch (MyException ex) {
     throw ex;
   }
  }



// *****************************************************************************

   public Vector getTexto() throws Exception
 {
   try {
     return persistencia.getObjectosPorClase("persistencia.dominio.Texto");
   }
   catch (MyException ex) {
     throw ex;
   }
  }
}



